Model Checking Activity Diagrams in TCM

نویسنده

  • Rik Eshuis
چکیده

ing from Data. Since an activity hypergraph can have integer and string variables, the state space of the transition system can be infinite. We reduce this infinite transition system to a finite one as follows. The key observation is that the only data that influences the execution of the activity hypergraph are the event and guard labels. The only relevant data, therefore, is the boolean valuation of the event and guard expressions. For example, suppose a guard tests whether variable x < 10. Then we only need to know the truth value of the guard, if we want to know whether the associated hyperedge is enabled. A naive model checking strategy would therefore be to drop all data and to introduce for every guard expression a boolean representative. generate events and new boolean valuations for guard expressions. The guard is true iff its boolean representative is true. This strategy is naive in the sense that is does not reckon with the fact that guard expressions can be dependent upon each other. For example, if guard expression [p ∧ q ] is true then [p] must also be true. And if [s=“red”] is true then [s 6=“red”] must be false, and vice versa. But in the naive model checking strategy, [p ∧ q ] and [p] might be assigned conflicting truth values, for example [p ∧ q ] = true and [p] = false. Such valuations are infeasible, and therefore should not occur in the model. We therefore consider basic guard expressions: those parts of the guard expressions not containing ∧,∨ and ¬ . This partly solves the problem sketched above (for example [p ∧ q ] and [q ] are dependent now). But not fully, since basic guard expressions too can be dependent upon each other. For example, basic guard expressions [x = 10] and [x ≥ 10] are not independent, since x = 10⇒ x ≥ 10. We solve this problem by requiring that a basic guard expression can at most refer to one variable, and that if two basic guard expressions refer to the same variable, then they must be syntactically the same. This may seem a limiting constraint, but we have not yet seen a workflow model in practice that did not satisfy this constraint. We postpone relaxing this constraint to future work. The approach above is based on existing approaches from modal logic theory, e.g. filtration [11]. Similar techniques are also applied in model checking under the name partition refinement [3]. Partition refinement can only be applied to a finite state space. Therefore, as far as we know, partition refinement is never applied to data abstraction, since data may induce an infinite state space. Real time. Activity graphs can contain simple real-time constructs of the form when and after (see Section 2). In our prototype, we have only implemented after constraints; when constraints can be dealt with similarly. In computing a transition system, we need to interpret after constraints in order to generate timeouts. One obvious solution is to use discrete time. But in our semantics we have dense time rather than discrete time: an event can occur at any time, not just at ticks of the clock. A dense time model cannot be discretised straightforwardly, since the discretisation may introduce some (undesired) properties that are not present in the original dense time model. However, in our case, we can use the result of Göllü et al. [12] that dense time models with n clocks can be discretised using clock ticks of 1 n+1 . This discretisation preserves the untimed (reachability) properties of the original dense time model, but it may introduce some different

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Model Checking of UML Class Diagrams including OCL using Relational Logic

The popular process models for object-oriented software development do not comprise model checking techniques. Model checking tools which take UML class diagrams including OCL as input could facilitate the incorporation of model checking techniques into everyday software engineering workflows. This paper describes a two-step model checking approach for UML class diagrams including OCL: the clas...

متن کامل

Formalising UML Activity Diagrams using Finite State Processes

Among the set of diagrams of UML used to express dynamic aspects of systems, the Activity Diagram (AD) is the only one that deals with Business Processes (BP) and workflows. However, the lack of a well-defined semantics leaves the notation open to many interpretations. In this paper we provide a simple semantics by formalising the UML Activity Diagram using finite state processes (FSP). A given...

متن کامل

Verifying sequence diagrams using the process algebra CSP

We develop a verification tool for sequence diagrams named SD2CSP. It converts sequence diagrams to processes in CSP, so that existing model checking tool can verify them. We implemented the tool and conducted experiments with real world case studies.

متن کامل

On Application of Multi-Rooted Binary Decision Diagrams to Probabilistic Model Checking

In this paper we consider the applicability of multi-rooted binary decision diagrams for the probabilistic model checking. The symbolic probabilistic model checking involves manipulation of functions and matrices with the values in [0, 1], and multi-terminal binary decision diagrams, sparse matrices, and combinations thereof are used to represent these objects. We propose algorithms for represe...

متن کامل

Sylvan: multi-core decision diagrams

Decision diagrams such as binary decision diagrams and multivalued decision diagrams play an important role in various fields, including symbolic model checking. An ongoing challenge is to develop datastructures and algorithms for modern multi-core architectures. The BDD package Sylvan provides one contribution by implementing parallelized BDD operations and thus allowing sequential algorithms ...

متن کامل

Zur automatischen Verifikation von UML-2-Aktivitätsdiagrammen

Inhaltsverzeichnis 1 Einleitung 1 1. Summary Demands on the performance and particularly on the quality of new software systems grow continuously. Therefore, modern software development processes are aimed at creating top quality software as fast as possible. One approach to face this challenge is given by the model-driven software development (MDSD). The use of models increases the abstraction...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2001